package cn.le.bean.util;

import cn.le.bean.dto.MsgDTO;
import cn.le.bean.dto.MsgGroupDTO;
import cn.le.bean.dto.MsgPointDTO;
import cn.le.bean.enums.EnumMsgCode;
import cn.le.bean.vo.NettyMsg;

import java.util.UUID;

public final class NettyMsgUtils {

    /**
     * 获取点对点消息体
     * @param dto
     * @return
     */
    public static NettyMsg getNettyMsg(MsgPointDTO dto){
        NettyMsg msg = toNettyMsg(dto);
        msg.setCode(EnumMsgCode.point_send.getCode());
        return msg;
    }
    public static NettyMsg getNettyMsg(MsgGroupDTO dto){
        NettyMsg msg = toNettyMsg(dto);
        msg.setCode(EnumMsgCode.group_send.getCode());
        return msg;
    }
    public static NettyMsg getHeartBeat(){
        NettyMsg msg = new NettyMsg();
        msg.setCode(EnumMsgCode.heartbeat.getCode());
        return msg;
    }
    public static NettyMsg getRespHeartBeat(){
        NettyMsg msg = new NettyMsg();
        msg.setCode(EnumMsgCode.resp_heartbeat.getCode());
        msg.setContent("ok");
        return msg;
    }

    private static NettyMsg toNettyMsg(MsgDTO dto){
        NettyMsg msg = new NettyMsg();
        msg.setId(UUID.randomUUID().toString());
        msg.setFid(dto.getFid());
        msg.setTid(dto.getTid());
        msg.setContent(dto.getContent());
        return msg;
    }


    private NettyMsgUtils(){}
}
